#ifndef _LICENSE_PROXY_IMPL_H
#define _LICENSE_PROXY_IMPL_H

#include "LicenseProxy.h"

LICENSE_PROXY_NAMESPACE_BEGIN

class LicenseProxyImpl : public ILicenseProxy
{
public:
	LicenseProxyImpl(void);
	~LicenseProxyImpl(void);

	virtual void Initialize(const string& serviceURL, const int& port = 80, const bool& encryptData = true);
	virtual void SetServiceURL(const string& serviceURL, const int& port = 80);
	virtual void Destroy();
	virtual void ActiveLicense(const tLicenseInfo& license, const tMachineInfoList& machineInfo);
	virtual void CheckLicense(const tLicenseInfo& license);
	virtual void SetRequestListener(ILicenseRequestListener* listener);

private:
	IRequestManager* m_requestManager;
	ILicenseRequestListener* m_listener;
};

LIB_UTIL_NAMESPACE_END

#endif //_LICENSE_PROXY_IMPL_H